import { ModuleMetadata } from '@nestjs/common/interfaces';

export interface WechatModuleOptions {
  appId: string;
  appSecret: string;
  token: string;
}

export interface WechatModuleAsyncOptions
  extends Pick<ModuleMetadata, 'imports'> {
  useFactory?: (
    ...args: any[]
  ) =>
    | WechatModuleOptions
    | WechatModuleOptions[]
    | Promise<WechatModuleOptions>
    | Promise<WechatModuleOptions[]>;
  inject?: any[];
}

export interface TemplateMessageData {
  openid: string;
  id: string;
  url?: string;
  keywords: { key: string; value: string; color?: string }[];
}
